home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Source / IBPalettes / WW3DKit / WWEveParser.h < prev    next >
Encoding:
Text File  |  1995-05-16  |  4.4 KB  |  186 lines

  1. // copyright 1993 Michael B. Johnson; some portions copyright 1994, MIT
  2. // see COPYRIGHT for reuse legalities
  3. //
  4.  
  5. #import <appkit/appkit.h>
  6. #import "list.h"
  7. #import <ri/ri.h>
  8.  
  9. #define  WW_UNKNOWN 0 
  10. #define  WW_INT     1 
  11. #define  WW_FLOAT   2
  12. #define  WW_POINT   3
  13. #define  WW_COLOR   4
  14. #define  WW_STRING  5
  15.  
  16. typedef struct {
  17.  
  18.   int             tag;
  19.   RtObjectHandle  handle;
  20.  
  21. }  RIB_object_t;
  22.  
  23.  
  24. typedef struct {
  25.  
  26.   RtLightHandle  handle;
  27.   RtToken        token;
  28.  
  29. }  RIB_light_t;
  30.  
  31.  
  32. typedef struct {
  33.  
  34.     char       *name;
  35.     char       *class; /* uniform, varying, vertex */
  36.     char       *type; /* float, integer, string, point, color */
  37.     RtToken    token;
  38.     int        n;
  39.     RtPointer  (*encodeFunc)(); /* function pointer which will encode the token ... */
  40.     char       *(*archiveFunc)(); /* function pointer which will return the string to archive the token... */
  41.     int        (*printfFunc)(); /* function pointer which will return the string to printf the token... */
  42.  
  43. }  RIB_var_t;
  44.  
  45.  
  46. @interface WWEveParser:Object
  47. {
  48.   id    tclInterp, 
  49.         rootShape, 
  50.         tmpRootShape, 
  51.         currentShape, 
  52.         tmpRIBCommand, 
  53.         viewToUpdate,
  54.         well, 
  55.         sampleGeneratorInfoList,
  56.         currentSampleGeneratorInfo;
  57.   LIST  *rib_var_list,
  58.         *rib_parm_list,
  59.         *rib_light_list,
  60.         *rib_object_list;
  61.   BOOL  rootShapeInUse, 
  62.         ignoreColors, 
  63.         ignoreLights,  ignoreShadingRate,
  64.         ignoreShaders, firmTransforms, 
  65.         continueWithShapeBuild, 
  66.         treatAttributeBeginLikeStartShape,
  67.         treatTransformBeginLikeAttributeBegin,
  68.         applyShadersDirectlyToCurrentShape,
  69.         evaluatingEveProc,
  70.         riBegun;
  71.  
  72.   int   evaluatingEveCommand;
  73.   id    eveProcList;  // OBSOLETE!!
  74.  
  75.   int   uniqueTag;
  76.   char  *cmdBuf;
  77.   int   cmdBufSize;
  78.  
  79.   // error stuff
  80.   id    errorWindow;
  81.   id    errorInfoText;
  82.   id    statusText;
  83.   id    tmpStatusText;
  84.   int   statusBufSize;
  85.   char  *statusBuf;
  86.  
  87.   id    sceneClock;
  88.  
  89.   int   sceneIncr;
  90.   BOOL  frozen;
  91.  
  92.   float  *lastTimes; 
  93.   int    lastTimesLength, lastTimesIndex; 
  94.  
  95.   id    articulatedVariablesBehaviorList;
  96. }
  97.  
  98. - setStatusText:newStatusText;
  99. - statusText;
  100.  
  101. - takeFirmTransforms:sender;
  102. - setFirmTransforms:(BOOL)flag;
  103. - (BOOL)firmTransforms;
  104. - showError:(char *)error;
  105. - closeErrorWindow:sender;
  106. - buildNewShapeHierarchyFromRIBFile:(const char *)filename;
  107. - buildNewShapeHierarchyFromRIBFile:(const char *)filename :(BOOL)closeControlsFlag;
  108. - buildNewShapeHierarchyFromEveFile:(const char *)filename;
  109. - buildNewShapeHierarchyFromEveFile:(const char *)filename :(BOOL)closeControlsFlag;
  110. - evaluateEveFile:(const char *)filename;
  111. - setRootShape:newRootShape;
  112. - tmpRootShape;
  113. - setTmpRootShape:newShape;
  114. - setWell:newWell;
  115. - installRootShapeInWell;
  116. - rootShape;
  117. - setCurrentShape:newShape;
  118. - currentShape;
  119. - tclInterp;
  120. - (BOOL)rootShapeInUse;
  121. - setRootShapeInUse:(BOOL)flag;
  122. - setTmpRIBCommand:newTmpRIBCommand;
  123. - tmpRIBCommand;
  124. - (BOOL)evaluatingEveCommand;
  125. - (BOOL)evaluatingEveProc;
  126. - setEvaluatingEveProc:(BOOL)newFlag;
  127. - evaluateEveProc:(char *)cmd;
  128.  
  129. - incrementEveCommandCounter;
  130. - decrementEveCommandCounter;
  131. - evaluateEveCommand:(char *)cmd;
  132. - setRiBegun:(BOOL)flag;
  133. - (BOOL)riBegun;
  134.  
  135. - setFrozen:(BOOL)flag;
  136. - (BOOL)frozen;
  137.  
  138. - setIgnoreShadingRate:sender;
  139. - (BOOL)ignoreShadingRate;
  140. - setIgnoreColors:sender;
  141. - setIgnoreShaders:sender;
  142. - (BOOL)ignoreColors;
  143. - (BOOL)ignoreShaders;
  144. - setIgnoreLights:sender;
  145. - (BOOL)ignoreLights;
  146. - (int)uniqueTag;
  147.  
  148.  
  149. - (BOOL)treatAttributeBeginLikeStartShape;
  150. - setTreatAttributeBeginLikeStartShape:(BOOL)flag; 
  151. - takeTreatAttributeBeginLikeStartShape:sender; 
  152.  
  153. - (BOOL)treatTransformBeginLikeAttributeBegin;
  154. - setTreatTransformBeginLikeAttributeBegin:(BOOL)flag; 
  155. - takeTreatTransformBeginLikeAttributeBegin:sender; 
  156.  
  157. - (BOOL)applyShadersDirectlyToCurrentShape;
  158. - setApplyShadersDirectlyToCurrentShape:(BOOL)flag; 
  159. - takeApplyShadersDirectlyToCurrentShape:sender; 
  160.  
  161. - setViewToUpdate:aView;
  162. - updateView;
  163. - camera;
  164.  
  165. - synchViewWithSceneClock;
  166. - setSceneClock:newSceneClock;
  167. - sceneClock;
  168. - setTicksPerSecond:(float)newTicksPerSecond;
  169.  
  170. - (int)sceneIncr;
  171. - setSceneIncr:(int)newSceneIncr;
  172.  
  173. - registerCurrentSampleGeneratorName:(const char *)newCurrentSampleGeneratorName weight:(float)weight;
  174. - (float)currentSampleWeight; 
  175. - (const char *)currentSampleGeneratorName;
  176. - setCurrentSampleGeneratorName:(const char *)newCurrentSampleGeneratorName;
  177.  
  178. - articulatedVariablesBehaviorList;
  179. - addArticulatedVariableBehavior:newVarBehavior;
  180.  
  181. - disableStatusText;
  182. - reenableStatusText;
  183.  
  184.  
  185. @end
  186.